/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Server;

import Client.Message;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * Clase empleada para almacenar la lista de mensajes enviados en el servidor por los clientes.
 * @author Devys
 */
public class ListaMensajes implements Serializable{
    private List<Message> Lista;
    
    /**
     * Constructor por defecto.
     * Crea una lista vacia de mensajes.
     */
    public ListaMensajes(){
        Lista=new ArrayList<Message>();
    }
    
    /**
     * Funcion que retorna la cantidad de elementos de la lista.
     * @return Tamaño de la lista
     */
    public int getCantidadElementos(){
        return Lista.size();
    }
    
    /**
     * Funcion que retorna el mensaje en una posicion indicada.
     * @param indice La posicion especificada
     * @return el mensaje en la posicion
     */
    public Message getMensaje(int indice){
        return Lista.get(indice);
    }
    
    /**
     * Metodo que elimina un mensaje de la lista de espera.
     * @param mensaje El mensaje a eliminar
     */
    public void eliminarMensaje(Message mensaje){
        Lista.remove(mensaje);
    }
    
    /**
     * Metodo que añade un mensaje a la lista de espera del servidor.
     * @param mensaje El mensaje a añadir.
     */
    public void ponerEnEspera(Message mensaje){
        Lista.add(mensaje);
        
    }
}
